Managing a display of results of a keyword search on a web page by modifying attributes of a dom tree structure

ABSTRACT

An approach is provided for managing a display of a keyword search result. First Document Object Model (DOM) element(s) in a web page DOM are identified as including DOM element(s) specifying first content that is relevant to the keyword. Second DOM element(s) in the DOM are identified as specifying second content that is irrelevant to the keyword. DOM element(s) are determined to specify paragraph(s) in the first content which were hidden from view as a result of a prior search of another keyword and based on the paragraph(s) not including the other keyword. The display of the result of the search is generated to include the first content and the paragraph(s) according to modified first attribute(s) of the DOM element(s) specifying the paragraph(s), and hide the second content from view, according to modified second attribute(s) of the second DOM element(s).

This application is a continuation application claiming priority to Ser.No. 13/859,866 filed Apr. 10, 2013.

TECHNICAL FIELD

The present invention relates to a data processing method and system formanaging a display of search results, and more particularly to atechnique for managing a display of results of a keyword search providedby a search feature of a browser.

BACKGROUND

While a webpage is being displayed, a user inputs a search term into asearch feature of a browser and the browser subsequently searches forthe search term on the webpage. Some browsers, such as the Google®Chrome® browser, may highlight all of the terms on the webpage thatmatch the search term, for easy recognition of the occurrences of thesearch term on the webpage. The Google® Chrome® browser is a freewareweb browser developed by Google, Inc. located in Mountain View, Calif.Google, Google Chrome, and Chrome are registered trademarks of Google,Inc. A browser may also jump to the location of a search term inresponse to the user pressing a key (e.g., the up or down arrow key) ofa keyboard, or activating a graphical user interface (GUI) element(e.g., an onscreen button). For a webpage that includes a large amountof content, the user may be required to perform a significant amount ofscrolling to view all of the highlighted search terms resulting from thesearch feature of a browser. Furthermore, content on the webpage that isirrelevant to the search term is displayed with the same prominence asthe content that is relevant to the search term, thereby making itdifficult for the user to ignore the irrelevant content.

BRIEF SUMMARY

In first embodiments, the present invention provides a method ofmanaging a display of a result of a search for a keyword on a web page.The method includes a computer receiving the keyword for the search. Themethod further includes the computer searching for the keyword on theweb page by identifying a first set of one or more elements of aDocument Object Model (DOM element(s)) of the web page that include afirst subset of DOM element(s) that include the keyword and optionallyincludes a second subset of DOM element(s) that are related to the firstsubset of DOM element(s) based on preference(s) associated with thedisplay. The method further includes based on the preference(s), thecomputer identifying a second set of DOM element(s) of the web page thatare unrelated to the first subset of DOM element(s). The method furtherincludes based on the preference(s), the computer modifying firstattribute(s) of a style of the identified first set of DOM element(s)and modifying second attribute(s) of a style of the identified secondset of DOM element(s). The method further includes the computergenerating the display of the result of the search so that the displayincludes content of the web page specified by the first set of DOMelement(s) in accordance with the modified first attribute(s), and sothat the display (1) does not include other content of the web pagespecified by the second set of DOM element(s) in accordance with themodified second attribute(s) or (2) emphasizes the content specified bythe first set of DOM element(s) over the other content specified by thesecond set of DOM element(s) in accordance with a difference between themodified first and second attribute(s).

In second embodiments, the present invention provides a computer systemincluding a central processing unit (CPU); a memory coupled to the CPU;and a computer-readable, tangible storage device coupled to the CPU. Thestorage device contains instructions that when executed by the CPU viathe memory implement a method of managing a display of a result of asearch for a keyword on a web page. The method includes the computersystem receiving the keyword for the search. The method further includesthe computer system searching for the keyword on the web page byidentifying a first set of one or more elements of a Document ObjectModel (DOM element(s)) of the web page that include a first subset ofDOM element(s) that include the keyword and optionally includes a secondsubset of DOM element(s) that are related to the first subset of DOMelement(s) based on preference(s) associated with the display. Themethod further includes based on the preference(s), the computer systemidentifying a second set of DOM element(s) of the web page that areunrelated to the first subset of DOM element(s). The method furtherincludes based on the preference(s), the computer system modifying firstattribute(s) of a style of the identified first set of DOM element(s)and modifying second attribute(s) of a style of the identified secondset of DOM element(s). The method further includes the computer systemgenerating the display of the result of the search so that the displayincludes content of the web page specified by the first set of DOMelement(s) in accordance with the modified first attribute(s), and sothat the display (1) does not include other content of the web pagespecified by the second set of DOM element(s) in accordance with themodified second attribute(s) or (2) emphasizes the content specified bythe first set of DOM element(s) over the other content specified by thesecond set of DOM element(s) in accordance with a difference between themodified first and second attribute(s).

In third embodiments, the present invention provides a computer programproduct. The computer program product includes a computer-readable,tangible storage device; and a computer-readable program code stored inthe computer-readable, tangible storage device. The computer-readableprogram code contains instructions that are executed by a centralprocessing unit (CPU) of a computer system to implement a method ofmanaging a display of a result of a search for a keyword on a web page.The method includes the computer system receiving the keyword for thesearch. The method further includes the computer system searching forthe keyword on the web page by identifying a first set of one or moreelements of a Document Object Model (DOM element(s)) of the web pagethat include a first subset of DOM element(s) that include the keywordand optionally includes a second subset of DOM element(s) that arerelated to the first subset of DOM element(s) based on preference(s)associated with the display. The method further includes based on thepreference(s), the computer system identifying a second set of DOMelement(s) of the web page that are unrelated to the first subset of DOMelement(s). The method further includes based on the preference(s), thecomputer system modifying first attribute(s) of a style of theidentified first set of DOM element(s) and modifying second attribute(s)of a style of the identified second set of DOM element(s). The methodfurther includes the computer system generating the display of theresult of the search so that the display includes content of the webpage specified by the first set of DOM element(s) in accordance with themodified first attribute(s), and so that the display (1) does notinclude other content of the web page specified by the second set of DOMelement(s) in accordance with the modified second attribute(s) or (2)emphasizes the content specified by the first set of DOM element(s) overthe other content specified by the second set of DOM element(s) inaccordance with a difference between the modified first and secondattribute(s).

In fourth embodiments, the present invention provides a process ofsupporting computing infrastructure. The process includes a step ofintegrating computer-readable program code into a computer systemcomprising a processor. The step of integrating includes storing theprogram code in a computer-readable storage device of the computersystem through use of the processor. The program code, upon beingexecuted by the processor, implements a method of managing a display ofa result of a search for a keyword on a web page. The method includesthe computer system receiving the keyword for the search. The methodfurther includes the computer system searching for the keyword on theweb page by identifying a first set of one or more elements of aDocument Object Model (DOM element(s)) of the web page that include afirst subset of DOM element(s) that include the keyword and optionallyincludes a second subset of DOM element(s) that are related to the firstsubset of DOM element(s) based on preference(s) associated with thedisplay. The method further includes based on the preference(s), thecomputer system identifying a second set of DOM element(s) of the webpage that are unrelated to the first subset of DOM element(s). Themethod further includes based on the preference(s), the computer systemmodifying first attribute(s) of a style of the identified first set ofDOM element(s) and modifying second attribute(s) of a style of theidentified second set of DOM element(s). The method further includes thecomputer system generating the display of the result of the search sothat the display includes content of the web page specified by the firstset of DOM element(s) in accordance with the modified firstattribute(s), and so that the display (1) does not include other contentof the web page specified by the second set of DOM element(s) inaccordance with the modified second attribute(s) or (2) emphasizes thecontent specified by the first set of DOM element(s) over the othercontent specified by the second set of DOM element(s) in accordance witha difference between the modified first and second attribute(s).

Embodiments of the present invention allow keyword search results to beviewed quickly with a small amount of scrolling, because only relevantcontent is displayed and unrelated content is hidden from the user'sview. While viewing search results, a user quickly ascertains thecontext around a keyword while easily ignoring information that is notrelated to the keyword. Furthermore, a user experiences more efficientweb surfing because embodiments of the present invention avoid a need tomanually hide certain elements that are not relevant to a keyword.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system for managing a display of a resultof a search for a keyword on a web page, in accordance with embodimentsof the present invention.

FIG. 2 is a flowchart of a process of managing a display of a result ofa search for a keyword on a web page, where the process is implementedin the system of FIG. 1, in accordance with embodiments of the presentinvention.

FIGS. 3A-3C is an example of a result of a search for a keyword on a webpage that is generated with a known keyword search technique and withoutusing the process of FIG. 2.

FIGS. 4A-4B is an example of a result of a search for the same keywordon the same web page used in FIGS. 3A-3C, where the result is generatedwith the process of FIG. 2, in accordance with embodiments of thepresent invention.

FIG. 5 is a block diagram of a computer system that is included in thesystem of FIG. 1 and that implements the process of FIG. 2, inaccordance with embodiments of the present invention.

DETAILED DESCRIPTION Overview

Embodiments of the present invention enhance the handling of results ofkeyword searching on a web page. A web browser's existing searchfeatures are enhanced to modify styles of Document Object Model (DOM)elements that do not include a keyword and are unrelated to DOM elementsthat include the keyword. Preferences determine that particular levelsof DOM elements relative to a level of a DOM element that includes akeyword indicate that the DOM elements are either related or unrelatedto the DOM element that includes the keyword.

In one embodiment, the web browser's search feature identifies the DOMelements that are unrelated to each of the DOM elements that include thekeyword. The web browser subsequently generates a display of the searchresults that includes the web page content specified by DOM elementsthat include the keyword and optionally other DOM elements related tothe DOM elements that include the keyword, in accordance with thepreferences. Generating the display of the search results removes fromview the web page content specified by DOM elements that are unrelatedto the DOM elements that include the keyword, so that the remaining,viewable content is related to the keyword and is viewable by employinga smaller amount of scrolling than the amount of scrolling required byknown techniques to view the results of a search for the same keyword onthe same web page.

In an alternate embodiment, the web browser's search feature identifiesthe DOM elements that include the keyword and optionally other DOMelements that are related to the DOM elements that include the keyword.The web browser subsequently generates a display of search results thatincludes only web page content specified by DOM elements that areunrelated to the identified DOM elements that include the keyword, inaccordance with the preferences. In the embodiment described in thisparagraph, generating the display of search results removes from viewthe web page content specified by the identified DOM elements, therebyleaving viewable only the web page content that is unrelated to thekeyword. The remaining, viewable web page content unrelated to thekeyword is viewable by employing a smaller amount of scrolling than theamount of scrolling required by known techniques to view the same webpage content (i.e., content unrelated to the keyword) in the results ofa search for the same keyword on the same web page.

Using known techniques that provide search results as a feature of a webbrowser, viewing highlighted keywords in the search results is slow whenthere is a significant amount of scrolling required due to a largeamount of content appearing in the search results that is unrelated tothe keyword, thereby posing unique challenges. A user may use knownapproaches to manually hide content that is unrelated to the keyword,but this manual process is time-consuming and error-prone, therebyposing other unique challenges. At least one of these unique challengesis overcome by one or more embodiments of the present invention.

As used herein, Document Object Model (DOM) is defined to be a WorldWide Web Consortium (W3C) specification for application programinterfaces that provides a platform-neutral and language-independent wayto represent, interact with, and process a structured document, such asa HyperText Markup Language (HTML) document. The DOM is used torepresent an HTML document as a hierarchical tree structure (i.e., a DOMtree). One member of the DOM tree is a DOM element. Each HTML element inan HTML document corresponds to a respective DOM element in the DOMtree.

As used herein, Cascading Style Sheets (CSS) is defined as the W3Cspecification of an extension to HTML for describing the presentationsemantics of an HTML document, thereby allowing styles (e.g., color,font, size, and opacity) to be specified for particular elements of anHTML document. CSS also allows a style to be removed for HTML documentelements that belong to a specific class.

System for Managing a Display of Search Results

FIG. 1 is a block diagram of a system for managing a display of a resultof a search for a keyword on a web page, in accordance with embodimentsof the present invention. System 100 includes a computer system 102,which runs a software-based web browser 104. Web browser 104 is incommunication with a web server 106 via a computer network 108. In oneembodiment, network 108 is the Internet. In another embodiment, network108 is an intranet. Web browser 104 includes a software-based searchtool 110 whose program code is configured to receive a keyword 114entered by a user of computer system 102, search a web page for keyword114, and generate results of the search (e.g., display the web page withoccurrences of keyword 114 highlighted). As used herein, “keyword”includes one or more search terms that a user enters into a searchfeature of web browser 104, where the search feature searches for andidentifies occurrence(s) of the one or more search terms in the contentof a web page.

Search tool 110 includes DOM style modification tool 112, which extendsknown search features of web browser 104 and search tool 110. DOM stylemodification tool 112 identifies mutually exclusive first and secondsets of DOM element(s) of the web page. The first set of DOM element(s)(1) includes keyword 114 or (2) includes a first subset of DOMelement(s) that include keyword 114 and a second subset of DOMelement(s) that are related to the first subset of DOM element(s) basedon preference(s) 116. The second set of DOM element(s) do not includekeyword 114 and, based on preference(s) 116, are not related to thefirst subset of DOM element(s).

In one embodiment, preference(s) 116 indicate relatedness between eachDOM element in the second subset and a corresponding DOM element in thefirst subset based on their hierarchical relationship in a DOM tree(i.e., one DOM element is a parent, child, or sibling of the other).Preference(s) 116 are stored in a computer data storage device (notshown) coupled to computer system 102.

Computer system 102 is coupled to a display device 118. DOM stylemodification tool generates a display 120 that is viewable by a user ofcomputer system 102. Display 120 (1) includes only content on the webpage that is relevant to keyword 114, where the content that is notrelevant to keyword 114 has been hidden or otherwise removed fromdisplay 120 by DOM style modification tool 112, or (2) includes contentthat is relevant to keyword 114 and content that is irrelevant tokeyword 114, but with the irrelevant content being visuallyde-emphasized as compared to the relevant content. As used herein,relevant content (i.e., content of a web page that is relevant tokeyword 114) is content specified by a DOM element that includes keyword114 or is related by preference(s) 116 to keyword 114. As used herein,irrelevant content (i.e., content of a web page that is irrelevant tokeyword 114) is content specified by a DOM element that does not includekeyword 114 and is not related by preference(s) to keyword 114.

In one embodiment, based on preference(s) 116, DOM style modificationtool 112 modifies a style of the identified first set of DOM element(s)and a style of the identified second set of DOM element(s) that areunrelated to the aforementioned first subset of DOM element(s). Based onthe modified styles, DOM style modification tool 112 generates a display120 of a result of the search for keyword 114. In one embodiment,display 120 includes only content of the web page that is relevant tokeyword 114 based on preference(s) 116 (i.e., DOM style modificationtool 112 generates display 120 in which the content of the web page thatis not relevant to keyword 114 is hidden or otherwise removed fromview). In an alternate embodiment, display 120 visually de-emphasizesthe content of the web page that is not relevant to keyword 114 ascompared to the content of the web page that is relevant to keyword 114.

In another embodiment (not shown), DOM style modification tool 112generates display 120 so that the content of the web page that isrelevant to keyword 114 is hidden or otherwise removed from view.

The functionality of the components shown in FIG. 1 is described in moredetail in the discussion of FIG. 2 and FIG. 5 presented below.

Process for Managing a Display of Search Results

FIG. 2 is a flowchart of a process of managing a display of a result ofa search for a keyword on a web page, where the process is implementedin the system of FIG. 1, in accordance with embodiments of the presentinvention. The process of FIG. 2 begins at step 200. In step 202, searchtool 110 (see FIG. 1) receives keyword 114 (see FIG. 1) for a search forkeyword 114 (see FIG. 1) on a web page, where the search is provided byweb browser 104 (see FIG. 1). In one embodiment, a user of computersystem 102 (see FIG. 1) types keyword 114 (see FIG. 1) into a searchfield provided by browser 104 (see FIG. 1).

In step 204, DOM style modification tool 112 (see FIG. 1) searches forkeyword 114 (see FIG. 1) on the web page by identifying a first set ofDOM element(s) of the web page that includes a first subset of DOMelement(s) that include keyword 114 (see FIG. 1) and includes a secondsubset of DOM element(s) that are related to the first subset of DOMelement(s) based on preference(s) 116 (see FIG. 1).

In step 204, identifying the first subset of DOM element(s) thatincludes keyword 114 (see FIG. 1) includes DOM style modification tool112 (see FIG. 1) analyzing DOM elements corresponding to the HTMLelements of the web page to determine which DOM elements include keyword114 (see FIG. 1), and determining the parent DOM element of each of thefound occurrences of keyword 114 (see FIG. 1). Examples of HTML elementscorresponding to DOM elements in which keyword 114 (see FIG. 1) may befound include elements having the following tags: <div>, <p>, <a> and<header>.

In step 204, identifying the second subset of DOM element(s) as beingrelated to the first subset of DOM element(s) includes DOM stylemodification tool 112 (see FIG. 1) analyzing preference(s) 116 (seeFIG. 1) that indicate a hierarchical relationship in the DOM treebetween a DOM element in the first subset and respective DOM element(s)in the second subset. A preference included in preference(s) 116 (seeFIG. 1) indicates a first DOM element is related to a second DOM elementif the first DOM element is a parent, child or sibling of the second DOMelement in the DOM tree. In one embodiment, a preference inpreference(s) 116 (see FIG. 1) indicates multiple levels DOM elementparents and/or multiple levels of DOM element children in the DOM treethat are considered to be related to a DOM element in the first subsetof DOM element(s). In one embodiment, a preference in preference(s) 116(see FIG. 1) indicates a maximum number of DOM elements that aresiblings and placed before a DOM element in the first subset, where thesiblings are considered related to the DOM element in the first subset.In one embodiment, a preference in preference(s) 116 (see FIG. 1)indicates a maximum number of DOM elements that are siblings and placedafter a DOM element in the first subset, where the siblings areconsidered related to the DOM element in the first subset.

In an alternate embodiment, step 204 includes DOM style modificationtool 112 (see FIG. 1) searching the web page for keyword 114 (seeFIG. 1) and identifying only the aforementioned DOM element(s) on theweb page that include keyword 114 (see FIG. 1) (i.e., withoutidentifying other DOM elements that are related to the DOM element thatincludes keyword 114 (see FIG. 1)).

In one embodiment, prior to step 204, DOM style modification tool 112(see FIG. 1) receives or determines relation(s) to a DOM elementincluded in the first set of DOM element(s), where a relation includedin the relation(s) is (1) a number of level(s) of DOM element(s) of theweb page that are parent(s) of the DOM element; (2) a number of level(s)of DOM element(s) of the web page that are one or more children of theDOM element; (3) a number of DOM element(s) of the web page that aresibling(s) of the DOM element and that are positioned before the DOMelement in the DOM; or (4) a number of DOM element(s) of the web pagethat are sibling(s) of the DOM element and that are positioned after theDOM element in the DOM. Identifying the second subset of DOM element(s)in step 204 includes DOM style modification tool 112 (see FIG. 1)identifying one or more DOM elements of the web page that are related tothe DOM element based on the aforementioned received or determinedrelation(s) and designating the identified one or more DOM elements asbeing in the second subset of DOM element(s).

In step 206, based on preference(s) 116 (see FIG. 1), DOM stylemodification tool 112 (see FIG. 1) identifies a second set of DOMelement(s) of the web page that are unrelated to the DOM element(s) ofthe web page that include keyword 114 (see FIG. 1) (i.e., unrelated tothe aforementioned first subset of DOM element(s) included in the DOMelement(s) identified in step 204). In step 206, identifying the secondset of DOM element(s) as being unrelated to the first subset of DOMelement(s) includes DOM style modification tool 112 (see FIG. 1)analyzing preference(s) 116 (see FIG. 1) that indicate theaforementioned hierarchical relationships and determining that DOMelement(s) that do not have one of the indicated relationships with anyDOM element(s) in the first subset of DOM element(s) identified in step204.

For example, DOM style modification tool 112 (see FIG. 1) identifies aDOM element that includes a keyword “Apple” and based on a preference inpreference(s) 116 (see FIG. 1), identifies other, related DOM elementsbased on the other DOM elements being parents of the identified DOMelement. Continuing the example, DOM style modification tool 112 alsoidentifies still other DOM elements that are unrelated to the identifiedDOM element that includes “Apple,” where the aforementioned preferenceindicates that being unrelated is based on a DOM element not includingthe keyword and not being a parent of the identified DOM element thatincludes the keyword.

In step 208, based on preference(s) 116 (see FIG. 1), DOM stylemodification tool 112 (see FIG. 1) modifies first attribute(s) of astyle of the first set of DOM element(s) identified in step 204, andmodifies second attribute(s) of a style of the second set of DOMelement(s) identified in step 206. In one embodiment, modifying each ofthe first and second attribute(s) in step 208 includes modifying acorresponding CSS attribute. Modifying a CSS attribute of a DOM elementin step 208 includes attaching a CSS style directly inline in an HTMLdocument or using a separate CSS file with a global style sheet andattaching a class name that references the global style sheet.

In one embodiment, step 208 includes modifying the aforementioned firstattributes only if the process of FIG. 2 is being repeated and contentof the web page specified by one or more of the DOM element(s) in thefirst set of DOM element(s) had been hidden or otherwise removed fromview in the most recent previous iteration of the process of FIG. 2.Given the previous hiding or removal from view of the one or more DOMelements, the modification of the first attributes in the currentiteration of the process of FIG. 2 makes the content specified by theone or more DOM elements viewable again in display 120 (see FIG. 1).

In another embodiment, step 208 includes modifying the aforementionedsecond attribute(s) of the style of the second set of DOM element(s)identified in step 206, but does not include modifying theaforementioned first attribute(s) of the style of the first set of DOMelement(s) identified in step 204. For example, this embodiment may beused in a scenario in which there had not been a previous iteration ofthe process of FIG. 2.

In one embodiment, modifying the aforementioned second attribute(s) instep 208 includes using known techniques to hide an HTML element. As afirst example, step 208 may include using the CSS display property andsetting the display property to “none”. A second example includes usingthe JQUERY® hide function. A third example includes setting the CSSvisibility property to “hidden”. A fourth example includes usingJavaScript to delete a node in the DOM tree, and saving the deleted datain case a subsequent iteration of the process of FIG. 2 needs to showthe deleted data again.

In one embodiment, modifying the aforementioned first attribute(s) instep 208 includes using known techniques to show an HTML element, suchas setting the CSS display property to “block”, using the show functionof the multi-browser jQuery® library of the JavaScript® computerprogramming language. JavaScript is a registered trademark of OracleAmerica, Inc. located in Redwood Shores, Calif., and jQuery is aregistered trademark of jQuery Foundation, Inc. located in Boston, Mass.

In one embodiment, modifying the aforementioned second attribute(s) instep 208 includes modifying one or more of the following fontattributes: font size, font weight, and font color, where the modifiedfont attribute causes the content specified by the second set of DOMelement(s) identified in step 206 to be more easily ignored (i.e.,visually de-emphasized) than the content specified by the first set ofDOM element(s) identified in step 204, when being viewed on display 120(see FIG. 1) by a user (following step 210, described below). That is,the content specified by the first set of DOM element(s) is visuallyemphasized over the other content specified by the second set of DOMelement(s). For example, modifying the style of the irrelevant contenton the web page so that the font size and font weight is less than thefont size and weight of the relevant content on the web page makes theirrelevant content easier to ignore by a user, thereby allowing the userto quickly view and understand context around keyword 114 (see FIG. 1).

In one embodiment, modifying the aforementioned second attribute(s) instep 208 allow a placement of the second set of DOM element(s)identified in step 206 into one or more twisties in a tree view indisplay 120 (see FIG. 1) following step 210 (described below). The oneor more twisties require subsequent activation in order to view theirrelevant content (e.g., by a click by a pointing device). By employingtwisties, the irrelevant content is visually de-emphasized as comparedto the relevant content, which is included in display 120 (see FIG. 1)without being placed in the tree view.

In step 210, DOM style modification tool 112 (see FIG. 1) generatesdisplay 120 (see FIG. 1), which includes a result of the search forkeyword 114 (see FIG. 1) on the web page. In one embodiment, DOM stylemodification tool 112 (see FIG. 1) generates display 120 to includecontent of the web page specified by the first set of DOM element(s)identified in step 204, based on the first attribute(s) modified in step208, while using the second attribute(s) modified in step 208 to hide orotherwise remove from view other content (i.e., irrelevant content) ofthe web page specified by the second set of DOM element(s) identified instep 206. In one embodiment, the removal from view of the irrelevantcontent results in portions of the relevant content to be moved tooccupy space on the web page that had formerly been occupied by theirrelevant content (i.e., step 210 results in no gaps being shown whereirrelevant content has been removed).

In an alternate embodiment, DOM style modification tool 112 (see FIG. 1)generates display 120 to include content of the web page specified bythe first set of DOM element(s) identified in step 204 while using thesecond attribute(s) modified in step 208 to visually de-emphasize othercontent (i.e., irrelevant content) of the web page specified by thesecond set of DOM element(s) identified in step 206. The visualde-emphasis of the irrelevant content includes setting the font size,font weight, or font color as described above, and/or includes placingthe irrelevant content in a tree view that employs twisties as describedabove.

In one embodiment, preference(s) 116 (see FIG. 1) includes an indicationthat a DOM element corresponding to a specific type of HTML element(e.g., an image element) is not to be subjected to the attributemodifications made in step 208. For example, images that are irrelevantcontent can be always shown in display 120 (see FIG. 1) based on apreference indicating that the attribute modifications made to hide orotherwise remove irrelevant content do not apply to DOM elements thatspecify images

In step 212, DOM style modification tool 112 (see FIG. 1) determineswhether a new keyword or a modification to keyword 114 (see FIG. 1) isreceived by search tool 110 (see FIG. 1). If DOM style modification tool112 (see FIG. 1) determines in step 212 that search tool 110 (seeFIG. 1) receives a new or modified keyword, then the Yes branch of step212 is taken, in response, DOM style modification tool 112 (see FIG. 1)clears the modifications to the first and second attribute(s) resultingfrom step 208, and the process subsequently repeats starting at step204, with keyword 114 (see FIG. 1) replaced with the new or modifiedkeyword.

If DOM style modification tool 112 (see FIG. 1) determines in step 212that search tool 110 (see FIG. 1) does not receive a new or modifiedkeyword, then the No branch of step 212 is taken and the process of FIG.2 ends at step 214.

If step 212 determines that search tool 110 (see FIG. 1) receives anadditional keyword to be concatenated with the aforementioned keyword114 (see FIG. 1), where a subsequent search is to be done for keyword114 (see FIG. 1) and the additional keyword, then in the second search,search tool 110 (see FIG. 1) searches for keyword 114 (see FIG. 1) andthe additional keyword on the web page by identifying DOM element(s) ofthe web page that include first DOM element(s) that include the keywordand the additional keyword and optionally include related DOM element(s)that are related to the first DOM element(s) based on preference(s) 116(see FIG. 1). Based on preference(s) 116 (see FIG. 1), DOM stylemodification tool 112 (see FIG. 1) identifies other DOM element(s) ofthe web page that are unrelated to the first DOM element(s). Based onpreference(s) 116 (see FIG. 1), DOM style modification tool 112 (seeFIG. 1) optionally modifies attribute(s) of a style of the identifiedDOM element(s) and modifies other attribute(s) of a style of the otherDOM element(s). DOM style modification tool 112 (see FIG. 1) displays aresult of the second search so that the displayed result includescontent of the web page specified by the identified DOM element(s), andso that the displayed result (1) does not include other content of theweb page specified by the other DOM element(s) that are unrelated to thefirst DOM element(s) in accordance with the modified other attribute(s),or (2) visually emphasizes the content specified by the identified DOMelement(s) over the other content specified by the other DOM element(s)that are unrelated to the first DOM element(s) in accordance with adifference between the modified second attribute(s) and attribute(s) ofa style of the identified first DOM element(s), or in accordance with adifference between the modified first and second attribute(s).

In an alternate embodiment, the process of FIG. 2 is modified togenerate a display in step 210 that includes the content of the web pagespecified by the DOM element(s) determined to be unrelated to keyword114 (see FIG. 1), while removing from view or visually de-emphasizing(1) other content specified by DOM element(s) that include keyword 114(see FIG. 1) and (2) still other content specified by DOM element(s)that are related to the DOM element(s) that include keyword 114 (seeFIG. 1).

In one embodiment, prior to step 202, browser 104 generates a display ofthe web page so that a user viewing all of the web page on displaydevice 118 (see FIG. 1) requires the user to perform a first amount ofscrolling. Step 210 includes generating display 120 (see FIG. 1) so thatthe display does not include other content of the web page specified bythe aforementioned second set of DOM element(s) in accordance with thesecond attribute(s) modified in step 208, and content of the web pagespecified by the aforementioned first set of DOM element(s) are moved asnecessary so that no gaps remain from not including the other contentspecified by the second set of DOM element(s). A result of generatingdisplay 120 (see FIG. 1) in step 210 is that a user viewing all ofdisplay 120 (see FIG. 1) including the result of the search requires theuser to perform a second amount of scrolling. Based on the modificationof the second attribute(s) in step 208 and the generation of display 120(see FIG. 1) in step, the second amount of scrolling is substantiallyless than the first amount of scrolling.

In one embodiment, step 208 includes DOM style modification tool 112(see FIG. 1) changing an attribute of the style of the second set of DOMelement(s). The changed attribute is either a font size of the othercontent specified by the second set of DOM element(s), a font weight ofthe other content, or a font color of the other content, or somecombination of font size, font weight and font color. A result ofchanging the attribute is that the difference between the modified firstand second attribute(s) includes a difference between the changedattribute and a corresponding attribute of the style of the first set ofDOM element(s), where generating display 120 (see FIG. 1) in step 210includes generating display 120 (see FIG. 1) so that the display employsthe difference between the changed attribute and the correspondingattribute of the style of the first set of DOM element(s) to emphasizethe content specified by the first set of DOM element(s) over the othercontent specified by the second set of DOM element(s).

In one embodiment, modifying the second attribute(s) of the style of thesecond set of DOM element(s) in step 208 includes DOM style modificationtool 112 (see FIG. 1) setting an attribute of the style of the secondset of DOM element(s) that places the other content specified by thesecond set of DOM element(s) in a tree view that employs twisties, wheregenerating display 120 (see FIG. 1) in step 210 includes generating thedisplay to include the tree view so that the content specified by thefirst set of DOM element(s) is emphasized over the other contentspecified by the second set of DOM element(s).

Examples

FIGS. 3A-3C is an example of a result of a search for a keyword on a webpage that is generated with a known keyword search technique and withoutusing the process of FIG. 2. A known web page search feature ofincorporated into a web browser receives the keyword “Apple” entered bya user. The search feature searches a web page for occurrences of theword “Apple” and highlights each occurrence of “Apple”. In FIGS. 3A-3C,a highlighted occurrence of “Apple” is indicated by a rectanglesurrounding “Apple”. FIG. 3A includes portions 300-1 and 300-2 of thesearch results. Portion 300-1 includes four occurrences of the keyword“Apple”. Portion 300-2 includes two occurrences of the keyword “Apple”.FIG. 3B includes portions 300-3 and 300-4 of the search results (seeFIG. 1). Portion 300-3 includes three occurrences of the keyword “Apple”and portion 300-4 does not include any occurrences of “Apple”. FIG. 3Cincludes portions 300-5 and 300-6 of the search result. Portion 300-5includes three occurrences of the keyword “Apple” and portion 300-6 doesnot include any occurrences of “Apple”. A user has to scroll through allportions in FIGS. 3A-3C (i.e., 218 lines of text) to ensure that theuser has seen all the occurrences of the keyword “Apple”.

FIGS. 4A-4B is an example of a result of a search for the same keywordon the same web page used in FIGS. 3A-3C, where the result is generatedwith the process of FIG. 2, in accordance with embodiments of thepresent invention. FIGS. 4A-4B is an example of a result of a search forthe keyword “Apple” on a web page, where the search result is includedin display 120 (see FIG. 1) generated by step 210 (see FIG. 2) and wherethe web page being searched includes the same content shown in FIGS.3A-3C. In this example, keyword 114 in FIG. 1 is “Apple”. Search tool110 (see FIG. 1) searches the web page for occurrences of the word“Apple” and highlights each occurrence of “Apple”. In FIGS. 4A-4B, ahighlighted occurrence of “Apple” is indicated by a rectanglesurrounding “Apple”.

FIG. 4A includes portions 400-1 and 400-2 of display 120 (see FIG. 1).Portion 400-1 includes five occurrences of the keyword “Apple”, whichwere found by the search performed in step 204 (see FIG. 2). Portion400-2 includes four occurrences of “Apple”, which were found by thesearch performed in step 204 (see FIG. 2). FIG. 4B includes portion400-3 of display 120 (see FIG. 1). Portion 400-3 includes threeoccurrences of the “Apple”, which were found by the search performed instep 204 (see FIG. 2).

In the example presented by FIGS. 4A-4B, DOM style modification tool 112(see FIG. 1) retrieves a preference included in preference(s) 116 (seeFIG. 1), which indicates that content of the web page specified by anyDOM element that does not include keyword 114 (see FIG. 1) is unrelatedto the keyword “Apple” and is to be removed from view, with theremaining content to be moved to fill in any gaps left by the removedcontent. Based on the preference, DOM style modification tool 112 (seeFIG. 1) determines the DOM elements that include the keyword “Apple” instep 204 (see FIG. 2) and determines other DOM elements that do notinclude the keyword “Apple” in step 206 (see FIG. 2) (i.e., determinesthe other DOM elements as the DOM elements that are unrelated to the DOMelements that include “Apple”, in accordance with the preference).

For each of the identified DOM elements that do not include “Apple”, DOMstyle modification tool 112 (see FIG. 1) modifies a corresponding CSSstyle attribute so that the CSS display property is set to “none” instep 208. As a result of step 210, DOM style modification tool 112 (seeFIG. 1) generates display 120 (see FIG. 1) that includes all portions ofa search result in the following order: portion 400-1 (see FIG. 4A),portion 400-2 (see FIG. 4A), and portion 400-3 (see FIG. 4B). Thegenerated portions 400-1, 400-2 and 400-3 include only those paragraphsof the web page that include the keyword “Apple”; the other paragraphsof the web page that do not include “Apple” and had been displayed inFIGS. 3A-3C are removed and are not included in portions 400-1, 400-2and 400-3. In the places where a paragraph has been removed, DOM stylemodification tool 112 (see FIG. 1) moves the paragraphs that include“Apple” so that there are no gaps left by the removed paragraphs.

It should be noted that the paragraphs that include “Apple” in FIGS.4A-4B are the same paragraphs that include “Apple” in FIGS. 3A-3C, but auser scrolling through the entire search result has to scroll throughportions 400-1, 400-2 and 400-3 (i.e., 98 lines of text) instead of the218 lines of text in portions in FIGS. 3A-3C (i.e., scrolling requiredto view the portions in FIGS. 4A-4B is approximately 55% less than thescrolling required to view the portions in FIGS. 3A-3C). As illustratedby examples in FIGS. 3A-3C and FIGS. 4A-4B, embodiments of the presentinvention provide a technique by which the required amount of scrollingneeded to view an entire web page search result is significantlyreduced.

Computer System

FIG. 5 is a block diagram of a computer system that is included in thesystem of FIG. 1 and that implements the process of FIG. 2, inaccordance with embodiments of the present invention. Computer system102 generally includes a central processing unit (CPU) 502, a memory504, an input/output (I/O) interface 506, and a bus 508. Further,computer system 102 is coupled to I/O devices 510 and a computer datastorage unit 512. CPU 502 performs computation and control functions ofcomputer system 102, including carrying out instructions included inprogram code 514 to perform a method of managing a display of a resultof a search for a keyword on a web page, where the instructions arecarried out by CPU 502 via memory 504. CPU 502 may include a singleprocessing unit, or be distributed across one or more processing unitsin one or more locations (e.g., on a client and server). Program code514 includes program code 816 for DOM style modification tool 112 (seeFIG. 1).

Memory 504 includes a known computer-readable storage medium, which isdescribed below. In one embodiment, cache memory elements of memory 504provide temporary storage of at least some program code (e.g., programcode 514) in order to reduce the number of times code must be retrievedfrom bulk storage while instructions of the program code are carriedout. Moreover, similar to CPU 502, memory 504 may reside at a singlephysical location, including one or more types of data storage, or bedistributed across a plurality of physical systems in various forms.Further, memory 504 can include data distributed across, for example, alocal area network (LAN) or a wide area network (WAN).

I/O interface 506 includes any system for exchanging information to orfrom an external source. I/O devices 510 include any known type ofexternal device, including a display device (e.g., monitor), keyboard,mouse, printer, speakers, handheld device, facsimile, etc. I/O devices510 includes display device 118 (see FIG. 1). Bus 508 provides acommunication link between each of the components in computer system102, and may include any type of transmission link, includingelectrical, optical, wireless, etc.

I/O interface 506 also allows computer system 102 to store information(e.g., data or program instructions such as program code 514) on andretrieve the information from computer data storage unit 512 or anothercomputer data storage unit (not shown). Computer data storage unit 512includes a known computer-readable storage medium, which is describedbelow. For example, computer data storage unit 512 may be a non-volatiledata storage device, such as a magnetic disk drive (i.e., hard diskdrive) or an optical disc drive (e.g., a CD-ROM drive which receives aCD-ROM disk).

Memory 504 and/or storage unit 512 may store computer program code 514that includes instructions that are carried out by CPU 502 via memory504 to manage a display of a result of a search for a keyword on a webpage. Although FIG. 5 depicts memory 504 as including program code 514,the present invention contemplates embodiments in which memory 504 doesnot include all of code 514 simultaneously, but instead at one timeincludes only a portion of code 514.

Further, memory 504 may include other systems not shown in FIG. 5, suchas an operating system (e.g., Linux®) that runs on CPU 502 and providescontrol of various components within and/or connected to computer system102. Linux is a registered trademark of Linus Torvalds in the UnitedStates, other countries, or both.

Storage unit 512 and/or one or more other computer data storage units(not shown) that are coupled to computer system 102 may storepreference(s) 116 (see FIG. 1).

As will be appreciated by one skilled in the art, in a first embodiment,the present invention may be a system; in a second embodiment, thepresent invention may be a method; and in a third embodiment, thepresent invention may be a computer program product. A component of anembodiment of the present invention may take the form of an entirelyhardware-based component, an entirely software component (includingfirmware, resident software, micro-code, etc.) or a component combiningsoftware and hardware sub-components that may all generally be referredto herein as a “module”.

An embodiment of the present invention may take the form of a computerprogram product embodied in one or more computer-readable medium(s)(e.g., memory 504 and/or computer data storage unit 512) havingcomputer-readable program code (e.g., program code 514) embodied orstored thereon.

Any combination of one or more computer-readable mediums (e.g., memory504 and computer data storage unit 512) may be utilized. Thecomputer-readable medium may be (1) a computer-readable storage medium,or (2) a computer-readable signal medium. As used herein, acomputer-readable storage medium is not a computer-readable signalmedium.

In one embodiment, the computer-readable storage medium is a physical,tangible computer-readable storage device or physical, tangiblecomputer-readable storage apparatus that stores but does not propagate.A computer-readable storage medium may include, for example, anelectronic, magnetic, optical, electromagnetic, or semiconductor system,apparatus, device or any suitable combination of the foregoing. Anon-exhaustive list of more specific examples of the computer-readablestorage medium includes: a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer-readable storagemedium is a physical, tangible storage medium that can contain or storea program (e.g., program 514) for use by or in connection with a system,apparatus, or device for carrying out instructions in the program, andwhich does not propagate.

A computer-readable signal medium may include a propagated data signalwith computer-readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electromagnetic, optical, or any suitable combination thereof. Acomputer-readable signal medium may be any computer-readable medium thatis not a computer-readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with asystem, apparatus, or device for carrying out instructions.

Program code (e.g., program code 514) embodied on a computer-readablemedium may be transmitted using any appropriate medium, including butnot limited to wireless, wireline, optical fiber cable, radio frequency(RF), etc., or any suitable combination of the foregoing.

Computer program code (e.g., program code 514) for carrying outoperations for aspects of the present invention may be written in anycombination of one or more programming languages, including an objectoriented programming language such as Java®, Smalltalk, C++ or the likeand conventional procedural programming languages, such as the “C”programming language or similar programming languages. Java and allJava-based trademarks are trademarks or registered trademarks of Oracleand/or its affiliates. Instructions of the program code may be carriedout entirely on a user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server, wherethe aforementioned user's computer, remote computer and server may be,for example, computer system 102 or another computer system (not shown)having components analogous to the components of computer system 102included in FIG. 5. In the latter scenario, the remote computer may beconnected to the user's computer through any type of network (notshown), including a LAN or a WAN, or the connection may be made to anexternal computer (e.g., through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described herein with reference toflowchart illustrations (e.g., FIG. 2) and/or block diagrams of methods,apparatus (systems) (e.g., FIG. 1 and FIG. 5), and computer programproducts according to embodiments of the invention. It will beunderstood that each block of the flowchart illustrations and/or blockdiagrams, and combinations of blocks in the flowchart illustrationsand/or block diagrams, can be implemented by computer programinstructions (e.g., program code 514). These computer programinstructions may be provided to one or more hardware processors (e.g.,CPU 502) of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which are carried out via the processor(s) of thecomputer or other programmable data processing apparatus, create meansfor implementing the functions/acts specified in the flowchart and/orblock diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium (e.g., memory 504 or computer data storage unit512) that can direct a computer (e.g., computer system 102), otherprogrammable data processing apparatus, or other devices to function ina particular manner, such that the instructions (e.g., program 514)stored in the computer-readable medium produce an article of manufactureincluding instructions which implement the function/act specified in theflowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer(e.g., computer system 102), other programmable data processingapparatus, or other devices to cause a series of operational steps to beperformed on the computer, other programmable apparatus, or otherdevices to produce a computer implemented process such that theinstructions (e.g., program 514) which are carried out on the computer,other programmable apparatus, or other devices provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

Any of the components of an embodiment of the present invention can bedeployed, managed, serviced, etc. by a service provider that offers todeploy or integrate computing infrastructure with respect to managing adisplay of a result of a search for a keyword on a web page. Thus, anembodiment of the present invention discloses a process for supportingcomputer infrastructure, where the process includes providing at leastone support service for at least one of integrating, hosting,maintaining and deploying computer-readable code (e.g., program code514) in a computer system (e.g., computer system 102) including one ormore processors (e.g., CPU 502), wherein the processor(s) carry outinstructions contained in the code causing the computer system to managea display of a result of a search for a keyword on a web page. Anotherembodiment discloses a process for supporting computer infrastructure,where the process includes integrating computer-readable program codeinto a computer system including a processor. The step of integratingincludes storing the program code in a computer-readable storage deviceof the computer system through use of the processor. The program code,upon being executed by the processor, implements a method of managing adisplay of a result of a search for a keyword on a web page.

While it is understood that program code 514 for managing a display of aresult of a search for a keyword on a web page may be deployed bymanually loading directly in client, server and proxy computers (notshown) via loading a computer-readable storage medium (e.g., computerdata storage unit 512), program code 514 may also be automatically orsemi-automatically deployed into computer system 102 by sending programcode 514 to a central server (e.g., computer system 102) or a group ofcentral servers. Program code 514 is then downloaded into clientcomputers (not shown) that will execute program code 514. Alternatively,program code 514 is sent directly to the client computer via e-mail.Program code 514 is then either detached to a directory on the clientcomputer or loaded into a directory on the client computer by a buttonon the e-mail that executes a program that detaches program code 514into a directory. Another alternative is to send program code 514directly to a directory on the client computer hard drive. In a case inwhich there are proxy servers, the process selects the proxy servercode, determines on which computers to place the proxy servers' code,transmits the proxy server code, and then installs the proxy server codeon the proxy computer. Program code 514 is transmitted to the proxyserver and then it is stored on the proxy server.

In one embodiment, program code 514 for managing a display of a resultof a search for a keyword on a web page, which consists of program codefor modifying DOM CSS styles and other program code providing knownsearch features of browser 104 (see FIG. 1), is integrated into aclient, server and network environment by providing for program code 514to coexist with software applications (not shown), operating systems(not shown) and network operating systems software (not shown) and theninstalling program code 514 on the clients and servers in theenvironment where program code 514 will function.

The first step of the aforementioned integration of code included inprogram code 514 is to identify any software on the clients and serversincluding the network operating system (not shown) where program code514 will be deployed that are required by program code 514 or that workin conjunction with program code 514. This identified software includesthe network operating system that is software that enhances a basicoperating system by adding networking features. Next, the softwareapplications and version numbers are identified and compared to the listof software applications and version numbers that have been tested towork with program code 514. Those software applications that are missingor that do not match the correct version are upgraded with the correctversion numbers. Program instructions that pass parameters from programcode 514 to the software applications are checked to ensure theparameter lists match the parameter lists required by the program code514. Conversely, parameters passed by the software applications toprogram code 514 are checked to ensure the parameters match theparameters required by program code 514. The client and server operatingsystems including the network operating systems are identified andcompared to the list of operating systems, version numbers and networksoftware that have been tested to work with program code 514. Thoseoperating systems, version numbers and network software that do notmatch the list of tested operating systems and version numbers areupgraded on the clients and servers to the required level. Afterensuring that the software, where program code 514 is to be deployed, isat the correct version level that has been tested to work with programcode 514, the integration is completed by installing program code 514 onthe clients and servers.

Another embodiment of the invention provides a method that performs theprocess steps on a subscription, advertising and/or fee basis. That is,a service provider, such as a Solution Integrator, can offer to create,maintain, support, etc. a process of managing a display of a result of asearch for a keyword on a web page. In this case, the service providercan create, maintain, support, etc. a computer infrastructure thatperforms the process steps for one or more customers. In return, theservice provider can receive payment from the customer(s) under asubscription and/or fee agreement, and/or the service provider canreceive payment from the sale of advertising content to one or morethird parties.

The flowchart in FIG. 2 and the block diagrams in FIG. 1 and FIG. 5illustrate the architecture, functionality, and operation of possibleimplementations of systems, methods, and computer program productsaccording to various embodiments of the present invention. In thisregard, each block in the flowchart or block diagrams may represent amodule, segment, or portion of code (e.g., program code 514), whichincludes one or more executable instructions for implementing thespecified logical function(s). It should also be noted that, in somealternative implementations, the functions noted in the block may occurout of the order noted in the figures. For example, two blocks shown insuccession may, in fact, be performed substantially concurrently, or theblocks may sometimes be performed in reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustrations, and combinations ofblocks in the block diagrams and/or flowchart illustrations, can beimplemented by special purpose hardware-based systems that perform thespecified functions or acts, or combinations of special purpose hardwareand computer instructions.

While embodiments of the present invention have been described hereinfor purposes of illustration, many modifications and changes will becomeapparent to those skilled in the art. Accordingly, the appended claimsare intended to encompass all such modifications and changes as fallwithin the true spirit and scope of this invention.

What is claimed is:
 1. A method of managing a display of a result of asearch for a keyword on a web page, the method comprising the steps of:a computer receiving the keyword for the search; the computeridentifying a first set of Document Object Model elements in a DocumentObject Model (DOM) of the web page, the DOM being a representation ofthe web page as a hierarchical tree structure in accordance with a WorldWide Web Consortium specification, the first set of DOM elementsincluding a first subset of DOM element(s) and a second subset of DOMelement(s), the first set of DOM elements specifying first content ofthe web page, and the step of identifying the first set including: thecomputer identifying the second subset of DOM element(s) as being DOMelement(s) that are in the DOM and that specify second portion(s) of thefirst content of the web page that are relevant to the received keywordbased on each of the DOM element(s) in the second subset being a parent,a child, or a sibling in the DOM of a corresponding DOM element includedin the first subset of DOM element(s); the computer identifying a secondset of DOM elements in the DOM as being DOM elements that are in the DOMand specify second content of the web page that is different from thefirst content of the web page and is irrelevant to the received keywordbased on each of the DOM elements in the second set not being theparent, child, or sibling in the DOM of the corresponding DOM elementincluded in the first subset of DOM element(s), the first and secondsets of DOM elements being mutually exclusive; the computer determiningone or more DOM elements in the identified first set of DOM elementsspecify one or more paragraphs in the first content of the web page, theone or more paragraphs having been hidden from view in a prior displayof the web page resulting from a prior search for another keyword, andthe one or more paragraphs having been hidden from view in the priordisplay based on the one or more paragraphs not including the otherkeyword; based on the one or more paragraphs in the first content of theweb page having been hidden from view in the prior display of the webpage resulting from the prior search for the other keyword, the computermodifying first attribute(s) of a style of the one or more DOM elementsin the identified first set of DOM elements; based on the DOM elementsin the second set of DOM elements not being the parent, child, orsibling in the DOM of the corresponding DOM element included in thefirst subset of DOM element(s), the computer modifying secondattribute(s) of a style of the identified second set of DOM elements,the modified first attribute(s) being different from the modified secondattribute(s); and the computer generating the display of the result ofthe search so that the display includes, for viewing, the first contentof the web page specified by the first set of DOM elements, the displayincluding, for viewing in accordance with the modified firstattribute(s), the one or more paragraphs that had been previously hiddenin the prior display of the web page and so that the display hides fromview, in accordance with the modified second attribute(s), the secondcontent of the web page specified by the second set of DOM elements. 2.The method of claim 1, further comprising the step of the computerreceiving or determining relation(s) to a DOM element included in thefirst subset of DOM elements, the relation(s) selected from the groupconsisting of: a first number of level(s) of DOM element(s) in the DOMof the web page that are parent(s) of the DOM element; a second numberof level(s) of DOM element(s) in the DOM of the web page that are one ormore children of the DOM element; a third number of DOM element(s) ofthe web page that are sibling(s) of the DOM element and that arepositioned before the DOM element in the DOM; and a fourth number of DOMelement(s) of the web page that are sibling(s) of the DOM element andthat are positioned after the DOM element in the DOM, wherein the stepof identifying the second subset of DOM element(s) includes the computeridentifying one or more DOM elements in the DOM of the web page that arerelated to the DOM element based on the received or determinedrelation(s) and based on each of the one or more DOM elements related tothe DOM element being a parent of the DOM element in the first number oflevel(s) of DOM element(s) in the DOM, a child of the DOM element in thesecond number of level(s) of DOM element(s) in the DOM, a sibling of theDOM element included in the third number of DOM element(s) positionedbefore the DOM element in the DOM, or a sibling of the DOM elementincluded in the fourth number of DOM element(s) positioned after the DOMelement in the DOM.
 3. The method of claim 1, further comprising thesteps of: subsequent to the step of generating the display, the computerreceiving a second keyword for a second search for the second keyword onthe web page; in response to the step of receiving the second keyword,the computer clearing the modified first and second attribute(s); andsubsequent to the step of clearing the modified first and secondattribute(s), the computer repeating the steps of identifying the firstand second sets of DOM elements, determining the one or more DOMelements specify the one or more paragraphs, modifying the first andsecond attribute(s), and generating the display, with the repeated stepsreplacing the keyword with the second keyword and replacing the searchwith the second search.
 4. The method of claim 1, further comprising thesteps of: the computer receiving a second keyword for a second searchfor the second keyword on the web page; in the second search, thecomputer searching for the second keyword on the web page by identifyingDOM element(s) in the DOM of the web page that include the secondkeyword; the computer identifying other DOM element(s) in the DOM of theweb page that do not include the second keyword; based on the DOMelement(s) identified as including the second keyword and the other DOMelement(s) identified as not including the second keyword, the computermodifying attribute(s) of a style of the identified DOM element(s) andmodifying other attribute(s) of a style of the other DOM element(s); andthe computer displaying a result of the second search so that thedisplayed result does not include content of the web page specified bythe identified DOM element(s) that include the second keyword inaccordance with the modified attribute(s), and so that the displayedresult includes other content of the web page specified by the other DOMelement(s) that do not include the second keyword in accordance with themodified other attribute(s).
 5. The method of claim 1, furthercomprising providing at least one support service for at least one ofcreating, integrating, hosting, maintaining, and deployingcomputer-readable program code in the computer, the program code beingexecuted by a processor of the computer to implement the steps ofreceiving the keyword, identifying the first set of DOM elements,identifying the second set of DOM elements, determining the one more DOMelements specify the one or more paragraphs in the first content of theweb page, modifying the first attribute(s), modifying the secondattribute(s), and generating the display of the result of the search. 6.A computer system comprising: a central processing unit (CPU); a memorycoupled to the CPU; and a computer-readable storage device coupled tothe CPU, the storage device containing instructions that when executedby the CPU via the memory implement a method of managing a display of aresult of a search for a keyword on a web page, the method comprisingthe steps of: the computer system receiving the keyword for the search;the computer system identifying a first set of Document Object Modelelements in a Document Object Model (DOM), the DOM being arepresentation of the web page as a hierarchical tree structure inaccordance with a World Wide Web Consortium specification, the first setof DOM elements including a first subset of DOM element(s) and a secondsubset of DOM element(s), the first set of DOM elements specifying firstcontent of the web page, and the step of identifying the first setincluding: the computer system identifying the second subset of DOMelement(s) as being DOM element(s) that are in the DOM and that specifysecond portion(s) of the first content of the web page that are relevantto the received keyword based on each of the DOM element(s) in thesecond subset being a parent, a child, or a sibling in the DOM of acorresponding DOM element included in the first subset of DOMelement(s); the computer system identifying a second set of DOM elementsin the DOM as being DOM elements that are in the DOM and specify secondcontent of the web page that is different from the first content of theweb page and is irrelevant to the received keyword based on each of theDOM elements in the second set not being the parent, child, or siblingin the DOM of the corresponding DOM element included in the first subsetof DOM element(s), the first and second sets of DOM elements beingmutually exclusive; the computer system determining one or more DOMelements in the identified first set of DOM elements specify one or moreparagraphs in the first content of the web page, the one or moreparagraphs having been hidden from view in a prior display of the webpage resulting from a prior search for another keyword, and the one ormore paragraphs having been hidden from view in the prior display basedon the one or more paragraphs not including the other keyword; based onthe one or more paragraphs in the first content of the web page havingbeen hidden from view in the prior display of the web page resultingfrom the prior search for the other keyword, the computer systemmodifying first attribute(s) of a style of the one or more DOM elementsin the identified first set of DOM elements; based on the DOM elementsin the second set not being the parent, child, or sibling in the DOM ofthe corresponding DOM element included in the first subset of DOMelement(s), the computer system modifying second attribute(s) of a styleof the identified second set of DOM elements, the modified firstattribute(s) being different from the modified second attribute(s); andthe computer system generating the display of the result of the searchso that the display includes, for viewing, the first content of the webpage specified by the first set of DOM elements, the display including,for viewing in accordance with the modified first attribute(s), the oneor more paragraphs that had been previously hidden in the prior displayof the web page and so that the display hides from view, in accordancewith the modified second attribute(s), the second content of the webpage specified by the second set of DOM elements.
 7. The computer systemof claim 6, wherein the method further comprises the step of thecomputer system receiving or determining relation(s) to a DOM elementincluded in the first subset of DOM elements, the relation(s) selectedfrom the group consisting of: a first number of level(s) of DOMelement(s) in the DOM of the web page that are parent(s) of the DOMelement; a second number of level(s) of DOM element(s) in the DOM of theweb page that are one or more children of the DOM element; a thirdnumber of DOM element(s) of the web page that are sibling(s) of the DOMelement and that are positioned before the DOM element in the DOM; and afourth number of DOM element(s) of the web page that are sibling(s) ofthe DOM element and that are positioned after the DOM element in theDOM, wherein the step of identifying the second subset of DOM element(s)includes the computer system identifying one or more DOM elements in theDOM of the web page that are related to the DOM element based on thereceived or determined relation(s) and based on each of the one or moreDOM elements related to the DOM element being a parent of the DOMelement in the first number of level(s) of DOM element(s) in the DOM, achild of the DOM element in the second number of level(s) of DOMelement(s) in the DOM, a sibling of the DOM element included in thethird number of DOM element(s) positioned before the DOM element in theDOM, or a sibling of the DOM element included in the fourth number ofDOM element(s) positioned after the DOM element in the DOM.
 8. Thecomputer system of claim 6, wherein the method further comprises thesteps of: subsequent to the step of generating the display, the computersystem receiving a second keyword for a second search for the secondkeyword on the web page; in response to the step of receiving the secondkeyword, the computer system clearing the modified first and secondattribute(s); and subsequent to the step of clearing the modified firstand second attribute(s), the computer system repeating the steps ofidentifying the first and second sets of DOM elements, determining theone or more DOM elements specify the one or more paragraphs, modifyingthe first and second attribute(s), and generating the display, with therepeated steps replacing the keyword with the second keyword andreplacing the search with the second search.
 9. The computer system ofclaim 6, wherein the method further comprises the steps of: the computersystem receiving a second keyword for a second search for the secondkeyword on the web page; in the second search, the computer systemsearching for the second keyword on the web page by identifying DOMelement(s) in the DOM of the web page that include the second keyword;the computer system identifying other DOM element(s) in the DOM of theweb page that do not include the second keyword; based on the DOMelement(s) identified as including the second keyword and the other DOMelement(s) identified as not including the second keyword, the computersystem modifying attribute(s) of a style of the identified DOMelement(s) and modifying other attribute(s) of a style of the other DOMelement(s); and the computer system displaying a result of the secondsearch so that the displayed result does not include content of the webpage specified by the identified DOM element(s) that include the secondkeyword in accordance with the modified attribute(s), and so that thedisplayed result includes other content of the web page specified by theother DOM element(s) that do not include the second keyword inaccordance with the modified other attribute(s).
 10. A computer programproduct, comprising: a computer-readable storage medium which is not asignal; and a computer-readable program code stored in thecomputer-readable storage medium, the computer-readable program codecontaining instructions that are carried out by a central processingunit (CPU) of a computer system to implement a method of managing adisplay of a result of a search for a keyword on a web page, the methodcomprising the steps of: the computer system receiving the keyword forthe search; the computer system identifying a first set of DocumentObject Model elements in a Document Object Model (DOM) of the web page,the DOM being a representation of the web page as a hierarchical treestructure in accordance with a World Wide Web Consortium specification,the first set of DOM elements including a first subset of DOM element(s)and a second subset of DOM element(s), the first set of DOM elementsspecifying first content of the web page, and the step of identifyingthe first set including: the computer system identifying the secondsubset of DOM element(s) as being DOM element(s) that are in the DOM andthat specify second portion(s) of the first content of the web page thatare relevant to the received keyword based on each of the DOM element(s)in the second subset being a parent, a child, or a sibling in the DOM ofa corresponding DOM element included in the first subset of DOMelement(s); the computer system identifying a second set of DOM elementsin the DOM as being DOM elements that are in the DOM and specify secondcontent of the web page that is different from the first content of theweb page and is irrelevant to the received keyword based on each of theDOM elements in the second set not being the parent, child, or siblingin the DOM of the corresponding DOM element included in the first subsetof DOM element(s), the first and second sets of DOM elements beingmutually exclusive; the computer system determining one or more DOMelements in the identified first set of DOM elements specify one or moreparagraphs in the first content of the web page, the one or moreparagraphs having been hidden from view in a prior display of the webpage resulting from a prior search for another keyword, and the one ormore paragraphs having been hidden from view in the prior display basedon the one or more paragraphs not including the other keyword; and basedon the one or more paragraphs in the first content of the web pagehaving been hidden from view in the prior display of the web pageresulting from the prior search for the other keyword, the computersystem modifying first attribute(s) of a style of the one or more DOMelements in the identified first set of DOM elements; based on the DOMelements in the second set of DOM elements not being the parent, child,or sibling in the DOM of the corresponding DOM element included in thefirst subset of DOM element(s), the computer system modifying secondattribute(s) of a style of the identified second set of DOM elements,the modified first attribute(s) being different from the modified secondattribute(s); and the computer system generating the display of theresult of the search so that the display includes, for viewing, thefirst content of the web page specified by the first set of DOMelements, the display including, for viewing in accordance with themodified first attribute(s), the one or more paragraphs that had beenpreviously hidden in the prior display of the web page and so that thedisplay hides from view, in accordance with the modified secondattribute(s), the second content of the web page specified by the secondset of DOM elements.
 11. The computer program product of claim 10,wherein the method further comprises the step of the computer systemreceiving or determining relation(s) to a DOM element included in thefirst subset of DOM elements, the relation(s) selected from the groupconsisting of: a first number of level(s) of DOM element(s) in the DOMof the web page that are parent(s) of the DOM element; a second numberof level(s) of DOM element(s) in the DOM of the web page that are one ormore children of the DOM element; a third number of DOM element(s) ofthe web page that are sibling(s) of the DOM element and that arepositioned before the DOM element in the DOM; and a fourth number of DOMelement(s) of the web page that are sibling(s) of the DOM element andthat are positioned after the DOM element in the DOM, wherein the stepof identifying the second subset of DOM element(s) includes the computersystem identifying one or more DOM elements of the web page that arerelated to the DOM element based on the received or determinedrelation(s) and based on each of the one or more DOM elements related tothe DOM element being a parent of the DOM element in the first number oflevel(s) of DOM element(s) in the DOM, a child of the DOM element in thesecond number of level(s) of DOM element(s) in the DOM, a sibling of theDOM element included in the third number of DOM element(s) positionedbefore the DOM element in the DOM, or a sibling of the DOM elementincluded in the fourth number of DOM element(s) positioned after the DOMelement in the DOM.
 12. The computer program product of claim 10,wherein the method further comprises the steps of: subsequent to thestep of generating the display, the computer system receiving a secondkeyword for a second search for the second keyword on the web page; inresponse to the step of receiving the second keyword, the computersystem clearing the modified first and second attribute(s); andsubsequent to the step of clearing the modified first and secondattribute(s), the computer system repeating the steps of identifying thefirst and second sets of DOM elements, determining the one or more DOMelements specify the one or more paragraphs, modifying the first andsecond attribute(s), and generating the display, with the repeated stepsreplacing the keyword with the second keyword and replacing the searchwith the second search.
 13. The computer program product of claim 10,wherein the method further comprises the steps of: the computer systemreceiving a second keyword for a second search for the second keyword onthe web page; in the second search, the computer system searching forthe second keyword on the web page by identifying DOM element(s) in theDOM of the web page that include the second keyword; the computer systemidentifying other DOM element(s) in the DOM of the web page that do notinclude the second keyword; based on the DOM element(s) identified asincluding the second keyword and the other DOM element(s) identified asnot including the second keyword, the computer system modifyingattribute(s) of a style of the identified DOM element(s) and modifyingother attribute(s) of a style of the other DOM element(s); and thecomputer system displaying a result of the second search so that thedisplayed result does not include content of the web page specified bythe identified DOM element(s) that include the second keyword inaccordance with the modified attribute(s), and so that the displayedresult includes other content of the web page specified by the other DOMelement(s) that do not include the second keyword in accordance with themodified other attribute(s).